Skip to content

Add himalaya + meli mail clients and Shedding Snake arcade game#88

Merged
ralyodio merged 1 commit into
mainfrom
feat/mail-clients-and-shedding-snake
Jul 10, 2026
Merged

Add himalaya + meli mail clients and Shedding Snake arcade game#88
ralyodio merged 1 commit into
mainfrom
feat/mail-clients-and-shedding-snake

Conversation

@ralyodio

Copy link
Copy Markdown
Contributor

Two independent additions, rebased clean onto main.

Mail clients — himalaya + meli (internal/mailclients)

Adds himalaya and meli as alternatives to the built-in AgentMail reader, pointed at the member's own mailbox.

  • Run host-side (like the built-in client), reusing the same master IMAP / loopback-SMTP creds — secrets never enter a pod.
  • Each launch writes a throwaway per-session config (mode 0600) into a temp HOME, PTY-attaches the client to the SSH session, and deletes the config on exit.
  • Operator escape hatches for client config-schema drift: AGENTBBS_{HIMALAYA,MELI}_CONFIG_TEMPLATE (override the config) and AGENTBBS_{HIMALAYA,MELI}_ARGS (override argv); AGENTBBS_{HIMALAYA,MELI}_BIN to point at a binary.
  • Wired into the hub (Mail · Himalaya, Mail · Meli — locked with a clear reason when the binary is absent) and the mail@ route (ssh -t mail@host himalaya|meli).

Follow-up (separate change): host provisioning of the two binaries in setup.sh + a docs/mail.md section. Until then the code fails gracefully (locked menu entry).

Shedding Snake (plugins/arcade/shedsnake.go)

A molting twist on Snake, inspired by cha.rlie.co/shedding-snake: the snake barely grows — every apple sheds its whole body as a permanent field of scales you must not bite. Walls wrap, speed ramps up, scales age fresh-teal → dusty-gray, and a grace period lets you slither off a fresh molt. Molt counts feed a global shedsnake leaderboard (reuses the generic score store — no store changes). Added to Arcade → Built-in with its own leaderboard entry.

Verification

  • go build ./... green
  • go test ./internal/mailclients/ ./plugins/arcade/ green (config-render + argv/override tests for the clients; molt/grace/death/wrap/no-180 tests for the game)
  • Rendered a live Shedding Snake frame to confirm the board/HUD/scale-aging look right

🤖 Generated with Claude Code

Mail clients (internal/mailclients): launch himalaya and meli as
alternatives to the built-in AgentMail reader, pointed at the member's
mailbox with the same master IMAP / loopback-SMTP creds. They run
host-side (secrets never enter a pod), from a throwaway per-session
config that is deleted on exit; operators can override the config
template and argv via env. Wired into the hub ("Mail · Himalaya/Meli",
locked when the binary is absent) and the mail@ route
(ssh -t mail@host himalaya|meli).

Shedding Snake (plugins/arcade): a molting twist on Snake inspired by
cha.rlie.co/shedding-snake. The snake barely grows — each apple sheds
its whole body as a permanent field of scales you must not bite. Walls
wrap, speed ramps up, scales age fresh-teal → dusty-gray, and molt
counts feed a global "shedsnake" leaderboard. Grace period lets you
slither off a fresh molt.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

vu1nz Security Review

0 finding(s) in PR #?

No security issues found.

@ralyodio ralyodio merged commit b51fa5c into main Jul 10, 2026
5 checks passed
@ralyodio ralyodio deleted the feat/mail-clients-and-shedding-snake branch July 10, 2026 09:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant